Visualizza l'ora nel formato 12hr:
Codice: <%= time
%>
Output HTML: 4:57:45 AM
Visualizza la data e l'ora in 12hr format:
Codice:
<%= now %>
Output HTML: 6/06/99 4:57:45 AM
Visualizza giorno, mese, anno, in formato esteso
Codice:
<% Response.Write(FormatDateTime(Now(),1) & " " )%>
Output
HTML: Tuesday, April 20, 1999
Visualizza solo la data
nel formato breve
Codice: <% Response.Write(FormatDateTime(Now(),2)
& " " )%>
Output HTML: 6/06/99
Visualizza
l'ora nel formato 12hr
Codice: <%
Response.Write(FormatDateTime(Now(),3) & " " )%>
Output HTML:
4:57:45 AM Visualizza l'ora nel formato 24hr:
Codice:
<% Response.Write(FormatDateTime(Now(),4) & " " )%>
Output
HTML: 04:54 Visualizza il nome del mese
corrente
Codice: <%=MonthName(Month(Date))%>
Output HTML:
April
Visualizza il numero del giorno della settimana
corrente:
Codice: <%=WeekDay(Date)%>
Output HTML: 3
Visualizza il numero sul calendario del giorno
corrente:
Codice: <%=Day(Date)%>
Output HTML: 20
Visualizza l'anno corrente:
Codice:
<%=Year(Date)%>
Output HTML: 1999
Avete potuto vedere una breve rassegna dei differenti modi di esprimere ora e
data in ASP con l'utilizzo della funzione FormatDateTime() . Questa
introduzione ci permette di introdurre il concetto di manipolazione della data o
dell'ora, che avviene attraverso una buone dose di fantasia e l'uso di funzioni
VBScript di un certo interesse:
Dateadd(), Datediff(), Datepart(),
Datevalue(), Dateserial().
Utilizzando Dateadd() possiamo calcolare il tempo nel futuro, ad esempio tra 200 ore, ecco il codice:
<%
'Calcoliamo l'ora corrente
Adesso =
FormatDateTime(Now,0)
'Calcoliamo il nuovo tempo tra X(200) ore
Dopo =
DateAdd(">h",200,Adesso)
%> <% Response.Write(Dopo)%> Output HTML: Tra 200 ore sarà il 6/21/99 19:17:12
PM
Vi chiederete quale potrebbe essere l'utilità di una simile
routine, pensate ad esempio di voler dare una scadenza, un expires, ad un record
immesso in un database, questo potrebbe essere un semplice modo per calcolarne
la data, magari facendo interagire l'utente che potrebbe assegnare attraverso un
input il valore della stessa.
Se volessimo visualizzare una parte di una data, ci dovremmo rivolgere ad una funzione particolare Datepart():
Function TrovaTrimestre(LaData)
TrovaTrimestre = DatePart("q", LaData)
End Function
Ecco i possili valori per l'estrazione di una parte della data:
| Settaggi | Descrizione |
|---|---|
| yyyy | Year |
| q | Quarter |
| m | Month |
| y | Day of Year |
| d | Day |
| w | Weekday |
| ww | Week of Year |
| h | Hour |
| n | Minute |
| s | Second |
Combinando Datepart() e Dateadd() possiamo sapere in quale giorno del mese di giugno saremo tra 10 anni:
Codice: Response.Write("Datepart("w", DateAdd("yyyy",
10, "10/06/99"))")
Output HTML: 4
Vediamo ad esempio l'utilizzo delle funzioni date di VBScript per calcolare quanti giorni mancano al pagamento dello stipendio, che avviene generalmente il 27 di ogni mese.
Dim GiorniMancanti, GiornoPagamento
if Day(Now) < 27 thenGiornoPagamento = DateSerial(Year(Now),Month(Now),27)elseif Day(Now) < Day(DateSerial(Year(Now),Month(Now)+1,1-1))GiornoPagamento = DateSerial(Year(Now),Month(Now)+1,1-1)elseGiornoPagamento = DateSerial(Year(Now),Month(Now)+1,27)
end if
GiorniMancanti = DateDiff("d",Now,GiornoPagamento)
In questo codice abbiamo usato due funzioni nuove, Dateserial() e
Datediff(), ben documentate sull'help del VBScript. Ma per rendersi conto
delle potenza di funzione come Dateserial() proviamo a spiegarne l'uso.
Essa viene principalmente utilizzata per creare una data quando abbiamo
l'anno, il mese ed il giorno:
MiaData = DateSerial(1999,6,2)
così facendo la variabile MiaData sarà settata con "6/2/1998", ma la potenza e flessibilità di questa funzione si espande notevolmente quando possiamo fare riferimento in sesnso assoluto alle date, ad esempio:
MiaData = DateSerial(1999-1,6-2,1-1)
in questo caso setto la variabile MiaData ad una data pari a: l'anno prima del 1999, a due mesi prima del mese di giugno e al giorno precedente a quello indicato:
OutputHTML: 31/03/98
Datediff(), calcolo l'intervallo tra due date, dove l'intervallo può avere diversi settaggi i quali corrispondono a quelli visti precedentemente per Datepart().
L'utilizzo più semplice che possiamo fare della manipolazione delle date con ASP e VB è ad esempio:
Questi spunti sono solo la punta di un iceberg e solo la fantasia può
limitare l'utilizzo della manipolazione delle date via ASP e VB.
Nella
prossima puntata parlero della gestione date via SQL e in quale modo sia
possibile automatizzare e schedulare eventi quali in backup di tabelle di
database oppure la cancellazione di record postdatati.